package com.kkb.VO;

import com.github.pagehelper.PageInfo;

import java.util.List;

/**
 * 注意：因为整个项目都用这个封装结果的实体类，而返回类型是不确定的，所以用泛型。
 *      比如返回有Team,game,player等等。
 */
public class ResultVO<T> {
    /**
     * 返回的pageInfo对象中 包括 total(总条数),list<Team1>(Team1的对象集合) 及 PageInfo类中的其他属性信息
     * 只有返回是错误时，才需要在controller层 重新设置code和msg。不然就是返回默认值。
     */
    private PageInfo<T> pageInfo;//返回pageInfo对象
    private List<T> list;
    private T obj;//返回单个对象(自定义类型，String、其他包装类型 都可)
    private Integer code=200;//状态码
    private String msg="ok";//告知用户的提示信息

    public ResultVO() {
    }

    public ResultVO(PageInfo<T> pageInfo) {
        this.pageInfo = pageInfo;
    }

    public ResultVO(List<T> list) {
        this.list = list;
    }

    public ResultVO(T obj) {
        this.obj = obj;
    }
    //只有返回是错误时，才需要设置code和msg。不然就是返回默认值
    public ResultVO(Integer code, String msg) {
        this.code = code;
        this.msg = msg;
    }


    public PageInfo<T> getPageInfo() {
        return pageInfo;
    }

    public void setPageInfo(PageInfo<T> pageInfo) {
        this.pageInfo = pageInfo;
    }

    public List<T> getList() {
        return list;
    }

    public void setList(List<T> list) {
        this.list = list;
    }

    public T getObj() {
        return obj;
    }

    public void setObj(T obj) {
        this.obj = obj;
    }

    public Integer getCode() {
        return code;
    }

    public void setCode(Integer code) {
        this.code = code;
    }

    public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }
}
